﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAO;
using Entidades;

namespace ProyectoCine.Usuarios
{
    public partial class Reservar : System.Web.UI.Page
    {
       protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Session["id_Funcion"] != null)
                {
                    Entidades.Funcion f =FuncionDAO.buscarPorID((Entidades.Funcion)Session["id_Funcion"]);
                    String nombrePelicula = PeliculaDAO.obtenerNombrePelicula(f.IdPelicula);
                    DateTime horaInicio = HorarioDAO.obtenerHoraInicio(f.IdHorario);
                    
                    lblFuncion.Text = "Funcion de  la Pelicula:" + nombrePelicula + ",Fecha:" +f.Fecha.ToShortDateString() + ",Hora:" + horaInicio.ToString("HH:mm")+",Precio:"+f.Precio.ToString();
                   
                }
            }
        }

        protected void ddlCantidad_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlCantidad.SelectedIndex != 0)
            {
                 Entidades.Funcion f = FuncionDAO.buscarPorID((Entidades.Funcion)Session["id_Funcion"]);
                 double total = ddlCantidad.SelectedIndex * f.Precio;
                 lblCosto.Text = "Total:$"; 
                 lblTotal.Text=total.ToString();
            }
        }

        protected void btnReservar_Click(object sender, EventArgs e)
        {
            Entidades.Funcion f = FuncionDAO.buscarPorID((Entidades.Funcion)Session["id_Funcion"]);
            try
            {
                int idR = ReservarDAO.insertReserva(Page.User.Identity.Name, int.Parse(ddlCantidad.SelectedValue), double.Parse(lblTotal.Text));
                if (idR != 0)
                {
                    for(int i=0;i<ddlCantidad.SelectedIndex;i++)
                    ReservarDAO.insertEntrada(f, idR);
                    FuncionDAO.updateLugares(f, int.Parse(ddlCantidad.SelectedValue));
                    Session["id_Reserva"] = idR;
                }
            }
            catch (ApplicationException ae)
            {
                lblMensaje.Text = ae.Message;
            }
            Response.Redirect("ReservaConfirmada.aspx");
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("MostarPelicula.aspx");
        }
    }
}